MESCIUS CalendarGrid for Windows Forms 4.0J > CalendarGridの使い方 > InputManCell > GcCharMask型セル > 書式を設定する(CalendarGcCharMaskCellType) |
CalendarGcCharMaskCellTypeでは、入力可能な文字種をFormatプロパティで制限することができます。Formatプロパティに設定できるキーワードは、次の表のとおりです。また、ここで指定された以外の文字種が入力されると、GcCharMask.InvalidInputイベントが発生します。
全角 | 半角 | 説明 |
---|---|---|
A |
A |
大文字のアルファベット(A〜Z) |
a |
a |
小文字のアルファベット(a〜z) |
K |
K |
カタカナ(促音・拗音の小書き表記あり) |
N |
N |
カタカナ(促音・拗音の小書き表記なし) |
9 |
9 |
数字(0〜9) |
# |
# |
数字および数字関連記号(0〜9、+ - $ % \ , .) |
@ |
@ |
記号(! " # $ % & ' ( ) - = ^ ~ \ | @ ` [ { ; + : * ] } , < . > / ? _ 。 「 」 、 ・) |
B |
B |
2進数(0または1) |
X |
X |
16進数(0〜9、A〜F) |
D |
- |
2バイト文字(サロゲート ペア文字を除いた全角文字) |
J |
- |
ひらがな(促音・拗音の小書き表記あり) |
G |
- |
ひらがな(促音・拗音の小書き表記なし) |
Z |
- |
すべての全角文字 |
T |
- |
サロゲート ペア文字 |
I |
- |
JIS X 0208文字で構成された文字 |
M |
- |
Shift JIS文字で構成された文字 |
- |
H |
すべての半角文字 |
- |
^ |
指定した書式に含まれないすべての文字 |
- |
\ |
エスケープ・シーケンス |
注意 CalendarGcCharMaskCellTypeではサロゲート ペア文字は入力できません。 |
Imports InputManCell = GrapeCity.Win.CalendarGrid.InputMan Dim today As DateTime = DateTime.Today Dim GcCharMaskCellType As New InputManCell.CalendarGcCharMaskCellType() GcCharMaskCellType.Format = "AB" GcCalendarGrid1.Content(today).Rows(1).Cells(0).CellType = GcCharMaskCellType GcCalendarGrid1.ScrollIntoView(today)
using InputManCell = GrapeCity.Win.CalendarGrid.InputMan; var today = DateTime.Today; var gcCharMaskCellType = new InputManCell.CalendarGcCharMaskCellType(); gcCharMaskCellType.Format = "AB"; gcCalendarGrid1.Content[today].Rows[1].Cells[0].CellType = gcCharMaskCellType; gcCalendarGrid1.ScrollIntoView(today);
上記のコードのFormatプロパティを変更することで入力可能な文字種を設定できます。
次の例では、半角大文字のアルファベットと数字(0〜9)が入力可能になります。キーワード"X"で指定した16進数は、別のキーワードの"A"と"9"に含まれているので、無視されます。
下のコードでは、すべての半角文字の入力が許可されます。キーワード"AaK9"で指定した文字種は"H"に包含されているので、この部分は無視されます。
次に示す2つの例は、どちらもスペースを含むすべての文字種を許可するものです。デフォルトでは、最初の例のように設定されていますので、2つ目の例のようにキーワード"ZH"を指定しなくても同じ動作となります。
GcCharMaskCellType.Format = "" GcCharMaskCellType.AllowSpace = InputMan.CalendarGridAllowSpace.Both GcCharMaskCellType.Format = "ZH" GcCharMaskCellType.AllowSpace = InputMan.CalendarGridAllowSpace.Both
gcCharMaskCellType.Format = ""; gcCharMaskCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.Both; gcCharMaskCellType.Format = "ZH"; gcCharMaskCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.Both;
以下の2つのコードは、すべての文字種の入力を拒否します。スペースの入力も許可されません。この例が示すように、キーワード"^"は、その後に記述されたキーワードの補集合を表します。
GcCharMaskCellType.Format = "^" GcCharMaskCellType.AllowSpace = InputMan.CalendarGridAllowSpace.None GcCharMaskCellType.Format = "^ZH" GcCharMaskCellType.AllowSpace = InputMan.CalendarGridAllowSpace.None
gcCharMaskCellType.Format = "^"; gcCharMaskCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.None; gcCharMaskCellType.Format = "^ZH"; gcCharMaskCellType.AllowSpace = InputManCell.CalendarGridAllowSpace.None;
また、入力可能な文字種から特定の文字種を除外することもできます。次のコードはすべての全角文字から絵記号だけを除外します。
特定の文字を書式に設定することも可能です。記号から「^、@、\、$」の4文字を除外するには以下のように記述します。
GcCharMaskCellType.Format = "@^\^\@\\$"
gcCharMaskCellType.Format = "@^\\^\\@\\\\$";
CalendarGcCharMaskCellType.AutoConvertプロパティを使用します。
AutoConvertプロパティをTrueに設定すると、Formatプロパティの設定内容に基づいて、変換可能な文字はすべて自動的に変換されます。たとえば、Formatプロパティで"A"キーワードが設定されていると、小文字を入力しても自動的に大文字に変換されます。また、全角文字だけが許可されている場合は、入力された半角文字は全角文字に変換されます。
セル内部で行われる自動変換の手順を以下に示します。
半角カタカナ、全角カタカナ、およびひらがなは、次のように変換されます。
CalendarGcCharMaskCellType.AllowSpaceプロパティを使用します。
AllowSpaceプロパティは、Formatの設定に依存せずに入力可能なスペースの種類を設定します。AllowSpaceプロパティがWideに設定されている場合、Formatプロパティにキーワード"H"のみが設定されていても、セルには全角のスペースのみ入力可能です。また、同様にAllowSpaceプロパティがNarrowに設定されている場合、キーワード"Z"のみが設定されていても、半角のスペースだけが入力可能になります。
AllowSpaceの値 | 説明 |
---|---|
Both |
半角、全角の両方のスペースが入力可能 |
Narrow |
半角のスペースのみ入力可能 |
Wide |
全角のスペースのみ入力可能 |
None |
スペースの入力はできません |
注意 既存のテキストにスペースが含まれているときに、AllowSpaceをNoneに設定すると、それらのスペースがすべて削除されるので注意が必要です。 |
CalendarGcCharMaskCellType.AcceptsCrLfプロパティを使用します。
AcceptsCrLfプロパティを使用してクリップボードへ改行を含む文字列をコピー、または貼り付けた場合の改行コードの扱いを設定できます。AcceptsCrLfプロパティは、以下の3つの動作から選択します。
AcceptsCrLfの値 | 説明 |
---|---|
NoControl |
改行コードはそのままでコピー、貼り付けを行います。従来のInputManのキャラクタボックスコントロールと同じ動作です。 |
Filter |
全ての改行コードを削除しコピー、貼り付けを行います。 |
Cut |
最初の改行コード以降の文字列を削除します。標準コントロールと同じ動作です。 |